package com.llb666.common.core.utils.page;

import com.github.pagehelper.PageInfo;
import lombok.Data;

import java.util.List;

/**
 * 用来返回分页Grid的数据格式.
 *
 * @author llb666
 */
@Data
public class PagedGridResult<T> {

    /**
     * 当前页数
     */
    private int page;

    /**
     * 总页数
     */
    private int total;

    /**
     * 总记录数
     */
    private long records;

    /**
     * 每行显示的内容
     */
    private List<T> rows;

	/**
	 * 构造前端组件需要的分页数据结构
	 *
	 * @param pageInfo pageHelper 分页对象
	 * @param <T>      泛型
	 * @return PagedGridResult
	 */
	public static <T> PagedGridResult<T> setterPagedGrid(PageInfo<T> pageInfo) {
		PagedGridResult<T> grid = new PagedGridResult<>();
		grid.setPage(pageInfo.getPageNum());
		grid.setTotal(pageInfo.getPages());
		grid.setRecords(pageInfo.getTotal());
		grid.setRows(pageInfo.getList());
		return grid;
	}

}
